package models

import "time"

type MedicationRecord struct {
	// 用药记录ID
	ID int `gorm:"column:id;PRIMARY_KEY;AUTO_INCREMENT" json:"id"`
	// 用药记录创建时间
	CreatedAt *time.Time `gorm:"column:created_at;type:timestamp" json:"created_at"`
	// 用药记录更新时间
	UpdatedAt *time.Time `gorm:"column:updated_at;type:timestamp" json:"updated_at"`

	MedicationRecordCore
}

type MedicationRecordCore struct {
	// 订单ID
	OrderID int `gorm:"column:order_id" json:"order_id"`
	// 大棚ID
	GreenhouseID int `gorm:"column:greenhouse_id" json:"greenhouse_id"`
	// 用药日期 2006-01-02 日期
	MedicationDate string `gorm:"column:medication_date;type:date" json:"medication_date"`
	// 内容
	Content string `gorm:"column:content" json:"content"`
	// 备注
	Remark string `gorm:"column:remark" json:"remark"`
}

type MedicationRecordDetail struct {
	MedicationRecord

	// 订单名称
	OrderName string `gorm:"column:orders_name" json:"orders_name"`
	// 大棚名称
	GreenhouseName string `gorm:"column:greenhouse_name" json:"greenhouse_name"`
}

type MedicationRecordDelta struct {
	// 订单ID
	OrderID interface{} `gorm:"column:order_id" json:"order_id" swaggertype:"integer"`
	// 大棚ID
	GreenhouseID interface{} `gorm:"column:greenhouse_id" json:"greenhouse_id" swaggertype:"integer"`
	// 用药日期 2006-01-02 日期
	MedicationDate interface{} `gorm:"column:medication_date" json:"medication_date" swaggertype:"string"`
	// 内容
	Content interface{} `gorm:"column:content" json:"content" swaggertype:"string"`
	// 备注
	Remark interface{} `gorm:"column:remark" json:"remark" swaggertype:"string"`
}

func (MedicationRecord) TableName() string {
	return "medication_record"
}
